| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=real64), | public, | parameter | :: | distribution_pi | = | 2.0d0*acos(0.0d0) |
Defines the interface for a probability distribution function.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(distribution), | intent(in) | :: | this |
The distribution object. |
||
| real(kind=real64), | intent(in) | :: | x |
The value at which to evaluate the function. |
The value of the function.
Computes the value of a distribution property.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(distribution), | intent(in) | :: | this |
The distribution object. |
The property value.
Recenters the distribution about the supplied value.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(distribution), | intent(inout) | :: | this |
The distribution object. |
||
| real(kind=real64), | intent(in) | :: | x |
The value about which to recenter. |
Defines an interface for a multivariate probability distribution function.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(multivariate_distribution), | intent(in) | :: | this |
The distribution object. |
||
| real(kind=real64), | intent(in), | dimension(:) | :: | x |
The values at which to evaluate the function. |
The value of the function.
Defines a probability distribution.
| procedure(distribution_function), public, deferred, pass :: cdf | |
| procedure, public :: defined_range => dist_defined_range | |
| procedure, public :: log_cdf => dist_log_cdf | ..\..\ Natural log of P(X <= x).<\p> |
| procedure, public :: log_pdf => dist_log_pdf | ..\..\ Natural log density (or log probability mass for discrete laws).<\p> |
| procedure, public :: log_survival => dist_log_survival | ..\..\ Natural log of P(X > x).<\p> |
| procedure(distribution_property), public, deferred, pass :: mean | |
| procedure(distribution_property), public, deferred, pass :: median | |
| procedure(distribution_property), public, deferred, pass :: mode | |
| procedure(distribution_function), public, deferred, pass :: pdf | |
| procedure(distribution_recenter), public, deferred, pass :: recenter | |
| procedure, public :: standardized_variable => dist_std_var | |
| procedure, public :: survival => dist_survival | ..\..\ Upper-tail probability P(X > x), evaluated directly for built-ins.<\p> |
| procedure(distribution_property), public, deferred, pass :: variance |
Defines a multivariate probability distribution.
| procedure, public :: log_pdf => mvd_log_pdf | ..\..\ Computes the log density; custom laws should override the PDF fallback.<\p> |
| procedure(multivariate_distribution_function), public, deferred, pass :: pdf | ..\..\ Computes the probability density function.<\p> |
Computes a log density or probability with explicit zero handling.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(in) | :: | value |
Nonnegative density or probability. |
Natural logarithm; zero gives -infinity, negative or NaN gives NaN.
Computes log(1 + exp(value)) without overflowing the exponential.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(in) | :: | value |
Exponent argument. |
Softplus value; NaN inputs propagate.